(1) Field of the Invention
The present invention relates to a video server system, a method of dynamically allocating contents, and an apparatus for delivering data, and more particularly to a video server system for controlling the delivery of data requested by clients, a method of dynamically allocating contents, and a data delivery apparatus for controlling the delivery of data.
(2) Description of the Related Art
Video servers deliver contents such as of digital moving image data to terminals connected through LANs and communication networks, and serve as one of the major elements of multimedia services.
In recent years, the overall system of video servers tends to become huge and complex as multimedia services exemplified by VOD (video-on-demand) systems are finding widespread use.
There are demands for technologies for reducing the burden on operators who run large-scale systems such as community antenna television systems.
Generally, there is a certain upper limit on the maximum number of streams of a content that can be delivered at one time from a video server in order to ensure a desired video image quality for the delivered streams. The maximum number of streams of a content that can be delivered at one time from an entire video server system may be increased by increasing the number of installed video servers.
Individual servers that are clustered are referred to as video servers, and an overall system of such video servers as a video server system.
FIG. 14 of the accompanying drawings schematically shows a conventional video server system 100. The video server system 100 includes a video server 102a storing contents C0, C1 and a video server 102b storing a content C2.
The video server system 100 also has a management server 101 for controlling operation of the video servers 102a, 102b and an ATM-SW 103 for switching streams of contents delivered from the video servers 102a, 102b and distributing the streams of contents to clients 300a.about.300n requesting the streams of contents.
Each of the video servers 102a, 102b can deliver a maximum number Nstrm of streams of contents. Specifically, the video server 102a can deliver a maximum number Nstrm of streams of the contents C0, C1, and the video server 102b can deliver a maximum number Nstrm of streams of the content C2.
It is assumed that the video server 102a is delivering streams whose number is the maximum number Nstrm. Since the video server system 100 has an overall stream supply capability of 2.times.Nstrm, 50% of the stream supply capability of the video server system 100 is now used.
If the streams which are being delivered by the video server 102a are all of the content C0, then when there is a request for the delivery of streams of the content C1, the video server system 100 is unable to deliver streams of the content C1 though the video server system 100 still has available remaining 50% of the stream supply capability. Accordingly, the video server system 100 rejects the request for the delivery of streams of the content C1.
In order to avoid such rejection of a request for the delivery of content streams, it is necessary that the content C1 also be stored in the video server 102b beforehand in expectation of a concentration of access to the content C1.
If there is a possibility that the video server 102b may suffer the same problem, then the video server system 100 needs to have an additional video server and allocate appropriate contents in the additional video server.
If the estimated number of video servers which are required to be installed is represented by Nvsa, then the estimated number Nvsa is determined according to the following equation (1): ##EQU1## where Pi represents the maximum number of times that each of the contents is simultaneously accessed per day, i represents the type of a content, and [] represents raising to unit.
FIG. 15 of the accompanying drawings is a diagram showing the maximum numbers of times that respective contents are simultaneously accessed in one day. The diagram has a vertical axis representing the maximum number Pi of times that each of the contents is simultaneously accessed in one day and a horizontal axis representing contents Ci. It is assumed that the maximum number Nstrm of content streams that can be delivered from a video server is 20.
It is predicted that the maximum number P0 of times that a content C0 is simultaneously accessed is 47, the maximum number P1 of times that a content C1 is simultaneously accessed is 33, the maximum number P2 of times that a content C2 is simultaneously accessed is 22, the maximum number P3 of times that a content C3 is simultaneously accessed is 4, the maximum number P4 of times that a content C4 is simultaneously accessed is 5, and the maximum number P5 of times that a content C5 is simultaneously accessed is 7. According to this prediction, the estimated number of video servers which are required to be installed is calculated as (47+33+22+6+5+7)/20=6 by the above equation (1). Therefore, the number of video servers which are required to be installed is 6.
FIG. 16 of the accompanying drawings show six video servers with the contents shown in FIG. 15 being actually allocated thereto. In FIG. 16, each of video servers 110.about.115 has a maximum number Nstrm of 20, and numerals in parentheses represent the maximum numbers of streams of the contents that can be delivered from the respective video servers.
Specifically, the content C0 is allocated to the video server 110 and the maximum number of streams of the content C0 that can be delivered from the video server 110 is 20. The content C1 is allocated to the video server 111 and the maximum number of streams of the content C1 that can be delivered from the video server 110 is 20. The contents C0, C1 are allocated to the video server 112 and the maximum numbers of streams of the contents C0, C1 that can be delivered from the video server 112 are 7, 13, respectively. The content C1 is allocated to the video server 113 and the maximum number of streams of the content C1 that can be delivered from the video server 113 is 20. The content C2 is allocated to the video server 114 and the maximum number of streams of the content C2 that can be delivered from the video server 114 is 20. The contents C2, C3, C4, C5 are allocated to the video server 115 and the maximum numbers of streams of the contents C2, C3, C4, C5 that can be delivered from the video server 115 are 2, 6, 5, 7, respectively.
Therefore, it has heretofore been customary to predict concentrated access to certain contents, estimate the number of video servers to be installed, and statistically allocate appropriate contents in the video servers before the video server system is put into service.
With the above conventional static contents allocation, however, the number of video servers needed is estimated on the assumption that the maximum numbers P0.about.P5 of times that the respective contents C0.about.C5 are simultaneously accessed in one day are based on being accessed at the same time.
FIG. 17 of the accompanying drawings is a diagram showing distributions of the numbers of times that the contents are accessed. The diagram has a vertical axis representing the number of times that a content is simultaneously accessed and a horizontal axis representing time (one day). Only contents C0.about.C2 are illustrated for the sake of brevity.
In FIG. 17, the maximum numbers P0.about.P2 of times that the respective contents C0.about.C2 are simultaneously accessed occur at a common time t0. Pa represents the maximum number of times that all the contents C0.about.C2 are simultaneously accessed in one day. Therefore, the maximum number Pa indicates the sum of the maximum numbers P0.about.P2 of times that the respective contents C0.about.C2 are simultaneously accessed at the time t0.
According to the conventional static contents allocation scheme, the number of video servers to be installed is estimated on the basis of the maximum number Pa.
Actually, the distributions shown in FIG. 17 rarely occur in normal circumstances because of different kinds of contents and different preferences of users. For example, news programs are popular in the morning, and movies are popular in the evening, and some users prefer to see video programs early in the evening and others late in the evening.
Consequently, the estimated number of video servers to be installed is usually excessive and investments in the facility of the video server system are too costly according to the conventional static contents allocation scheme.
Another problem is that the operator of the video server system is subject to a large burden because the operator is required to allocate contents appropriately before the video server system is put into operation and during maintenance of the video server system.